oracle中表A有字段id,name,age,表B有字段id,subject,score,id为学生学号...答:这个可以拿到并列名次,SELECT A.id, A.name, A.age, A.score FROM (select subject, id, score, rank() over(partition by subject order by score desc) rk from B) t,A WHERE t.rk <= 2 AND A.id = t.id 如果不要并列名次,把那个rank()改为row_number()即可 ...